"use strict";
/*
    1 2 true null   =>字面量
    var 变量名 = 变量值;
*/
Object.defineProperty(exports, "__esModule", { value: true });
//直接定义字面量
var a;
// a=11     保错
// a='10'   也报错
//逻辑运算符 & | ！
//  |
var b;
// b='man'
// b='woman'
// b='cc'
// number string undefined null boolean 
// let a1=1
// 任意类型 any  隐性类型(没给类型默认为any)
// 如果给变量定义类型any   相当于关闭了ts效验
var c;
c = 1;
c = '1';
c = true;
c = null;
// unknown  位置类型   线性类型
var d;
d = 1;
d = '1';
d = true;
d = null;
d = 'hello';
var e;
//unknown  与  any
//any 可以给任意类型进行赋值
//unknown 不可以给任意类型进行赋值
e = c;
// e=d  报错
if (typeof d === 'string') {
    e = d;
}
//  类型断言:告知解析器究竟是什么类型
// 1.数据 as 类型
e = d;
// 2.<类型>数据 
e = d;
//void 用来表示空就是    有return会报错
function fn1() {
    console.log('fn1');
    // return '12345';   报错
}
fn1();
//never 永远不允许反出结果   任何形式
function fn2() {
    // console.log(1);
    throw new Error("123");
}
fn2();
